/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.supinfo.youfood.web.servlet.client;

import com.supinfo.youfood.entity.*;
import com.supinfo.youfood.service.MenuService;
import com.supinfo.youfood.service.ProduitService;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Michael
 */
@WebServlet(name = "UpdateCommandeServlet", urlPatterns = {"/UpdateCommande"})
public class UpdateCommandeServlet extends HttpServlet {

    
    @EJB
    private MenuService menuService;
    
    @EJB
    private ProduitService produitService;

    
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String who = request.getParameter("who");
        String type = request.getParameter("type");
        Commande currentCommande = (Commande)request.getSession(true).getAttribute("currentCommande");
        List<Commande_Menu> listCommande_Menu = new ArrayList<Commande_Menu>();
        listCommande_Menu = (List<Commande_Menu>)request.getSession(true).getAttribute("listCommande_Menu");
        List<Commande_Produit> listCommande_Produit = new ArrayList<Commande_Produit>();
        listCommande_Produit = (List<Commande_Produit>)request.getSession(true).getAttribute("listCommande_Produit");
        
        
        if(type.equals("cm")) {
            Long id_menu = Long.valueOf(request.getParameter("id_menu"));
            Menu menuToDelete = menuService.findMenuById(id_menu);

            for(int i=0;i<listCommande_Menu.size();i++) {
                if(listCommande_Menu.get(i).getMenu().equals(menuToDelete)) {
                    listCommande_Menu.remove(i);
                    break;
                }
            }
        }
        else if(type.equals("cp")) {
            Long id_produit = Long.valueOf(request.getParameter("id_produit"));
            Produit produitToDelete = produitService.findProduitById(id_produit);
   
            for(int i=0;i<listCommande_Produit.size();i++) {
                if(listCommande_Produit.get(i).getProduit().equals(produitToDelete)) {
                    listCommande_Produit.remove(i);
                    break;
                }
            }
        }   
        
        if(listCommande_Menu.isEmpty() && listCommande_Produit.isEmpty()) {
            request.getSession(true).removeAttribute("currentCommande");
            request.getSession(true).removeAttribute("listCommande_Menu");
            request.getSession(true).removeAttribute("listCommande_Produit");
            
        }
        
        //Redirection vers la page d'accueil respective
        if(who.equals("client"))
            response.sendRedirect("accueil");
        else if(who.equals("serveur"))
            response.sendRedirect("serveur/accueil");
    }

    
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
    }
}
